package com.kongzue.baseokhttp.listener;

import okhttp3.Response;
import okio.ByteString;

/**
 * Author: @Kongzue
 * Github: https://github.com/kongzue/
 * Homepage: http://kongzue.com/
 * Mail: myzcxhh@live.cn
 * CreateTime: 2018/12/31 17:10
 */
public interface WebSocketStatusListener {

    /**
     * 已连接
     *
     * @param response response
     */
    void connected(Response response);

    /**
     * 收到消息
     *
     * @param message message
     */
    void onMessage(String message);

    /**
     * 收到消息
     *
     * @param message message
     */
    void onMessage(ByteString message);

    /**
     * 重新连接
     */
    void onReconnect();

    /**
     * 断开
     *
     * @param breakStatus 状态
     */
    void onDisconnected(int breakStatus);

    /**
     * 连接失败
     *
     * @param th 错误
     */
    void onConnectionFailed(Throwable th);

}
